package com.meijin;

/**
 * @Author meijindeng
 * @Data 2023-08-30 23:15
 * @Description TODO
 * @Version 1.0
 */
public class Main {
    public static void main(String[] args) {
        System.out.println("Hello world!");
    }
    //spring通过 IoC（控制反转） 容器来管理
    //所有Java 对象的实例化和初始化，控制对象与对象之间的依赖关系
    //我们将由 IoC 容器管理的 Java 对象称为 Spring Bean，它与使用 new 创建对象没有任何区别
    //容器放bean对象，使用 map 集合
    //IoC 容器流程：
    /*
    在 xml配置文件中，定义 Bean的相关信息（BeanDefinition），
    通过 BeanDefinitionReader进行读取加载（不同方式进行读取），
    （以下在IoC容器中操作）在IoC 中有 Bean 的定义信息，使用 BeanFactory 工厂+反射的方式实例化对象，实例化后进行初始化，最后得到最终对象。
     */

    //依赖注入（DI）：实现了控制反转的思想。指的是 Spring 创建对象的过程中，将对象依赖属性通过配置进行注入。
    //注入方式：1、set 注入，2、构造注入
    //结论：IoC 就是一种控制反转的思想，而 DI 是对 IoC的一种具体实现。
    //bean 管理：bean 对象创建以及 bean 对象中属性的赋值（或者叫 bean 对象之间关系的维护）
}